Boost
boost
arrow_drop_down
Boost.Python
C++ 03 Added in Boost 1.29.0
Categories: Inter-language

The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes functions and objects to Python, and vice-versa, using no special tools -- just your C++ compiler.

This Release

Dave Abrahams
Author
Stefan Seefeld
Stefan Seefeld
Maintainer
Jim Bosch
Jim Bosch
Contributor - New
Ankit Daftery
Ankit Daftery
Contributor - New
Jim Bosch
Jim Bosch
Contributor - New
Christoph Lassner
Contributor - New
Toshiki Teramura
Toshiki Teramura
Contributor - New
Neal D. Becker
Neal D. Becker
Contributor - New
Wei-Ming Yang
Wei-Ming Yang
Contributor - New
Ilya Kolpakov
Ilya Kolpakov
Contributor - New
vmurashev
vmurashev
Contributor - New
WKarel
WKarel
Contributor - New
Jonas Hoersch
Jonas Hoersch
Contributor - New
Philip Miller
Philip Miller
Contributor - New
Aaron Wishnick
Contributor - New
barnabyrobson
barnabyrobson
Contributor - New
Per
Per
Contributor - New
Guillaume Dumont
Guillaume Dumont
Contributor - New
Vladimir Prus
Vladimir Prus
Contributor - New
Christoph Lassner
Christoph Lassner
Contributor - New
per
per
Contributor - New
Rene Rivera
Rene Rivera
Contributor

logo

Synopsis

Welcome to Boost.Python, a C++ library which enables seamless interoperability between C++ and the Python programming language. The library includes support for:

  • References and Pointers
  • Globally Registered Type Coercions
  • Automatic Cross-Module Type Conversions
  • Efficient Function Overloading
  • C++ to Python Exception Translation
  • Default Arguments
  • Keyword Arguments
  • Manipulating Python objects in C++
  • Exporting C++ Iterators as Python Iterators
  • Documentation Strings

See the Boost.Python documentation for details.

Hint : Check out the development version of the documentation to see work in progress.

Building Build Status

While Boost.Python is part of the Boost C++ Libraries super-project, and thus can be compiled as part of Boost, it can also be compiled and installed stand-alone, i.e. against a pre-installed Boost package.

Prerequisites

Configure

Simply run

scons config [options]

to prepare a build. See scons -h for a description of the available options. For example

scons config --boost=/path/to/boost --python=/path/to/python

will configure Boost.Python to be built against the two specific versions of Boost and Python.

Build

Run

scons

to build the library.

Test

Run

scons test

to run the tests.

Build docs

Run

scons doc

to build the documentation.

All Time

Dave Abrahams
Dave Abrahams
Contributor
Ralf W. Grosse-Kunstleve
Contributor
Bruno da Silva de Oliveira
Contributor
Joel de Guzman
Joel de Guzman
Contributor
nobody
Contributor
Vladimir Prus
Vladimir Prus
Contributor
Beman Dawes
Beman Dawes
Contributor
Daniel James
Daniel James
Contributor
Jonathan Brandmeyer
Contributor
Aleksey Gurtovoy
Contributor
Stephen Kelly
Stephen Kelly
Contributor
Eric Niebler
Contributor
Troy D. Straszheim
Troy D. Straszheim
Contributor
John Maddock
John Maddock
Contributor
Gottfried Ganßauge
Contributor
Markus Schöpflin
Contributor
Marshall Clow
Marshall Clow
Contributor
Douglas Gregor
Douglas Gregor
Contributor
Jürgen Hunold
Jürgen Hunold
Contributor
Gennaro Prota
Contributor
Nikolay Mladenov
Nikolay Mladenov
Contributor
Stefan Slapeta
Contributor
Jeremiah Willcock
Jeremiah Willcock
Contributor
Steven Watanabe
Steven Watanabe
Contributor
Raoul Gough
Raoul Gough
Contributor
Giuseppe Corbelli
Giuseppe Corbelli
Contributor
Mikhail Matrosov
Mikhail Matrosov
Contributor
Andrey Semashev
Andrey Semashev
Contributor
Michael A. Jackson
Michael A. Jackson
Contributor
Victor A. Wagner Jr.
Contributor
Jim Douglas
Jim Douglas
Contributor
Peter Dimov
Peter Dimov
Contributor
Chris Nixon
Chris Nixon
Contributor
Edward Diener
Edward Diener
Contributor
Brett Calcott
Brett Calcott
Contributor
Kohei Takahashi
Kohei Takahashi
Contributor
Axel Huebl
Axel Huebl
Contributor
David Siegel
David Siegel
Contributor
Peter Martini
Peter Martini
Contributor
Jason Newton
Jason Newton
Contributor
vslashg
vslashg
Contributor
Thomas Trummer
Thomas Trummer
Contributor
Daniel Wallin
Contributor
Jonathan Wakely
Jonathan Wakely
Contributor
Hartmut Kaiser
Hartmut Kaiser
Contributor
Thomas Kent
Thomas Kent
Contributor